C++ do while循环结构

梦想不会自己发光,真正闪耀的是那个为梦狂奔的你。献给知行的孩子们!(Eric.He著)


  本教程将从 C++ do while循环的核心概念、语法结构、执行流程、基础用法到流程控制,全面讲解 do while循环的使用方法,帮助你掌握这一特殊的循环结构。

教程目录导航

一、do while循环概述

1.1 do while循环定义

do while循环是 C++ 中一种先执行、后判断的循环语句。

它的核心特点:无论条件是否成立,循环体至少会执行一次,执行完毕后再判断条件是否为真,决定是否继续循环。

1.2 适用场景

1.3 三种循环核心对比

循环类型 执行顺序 最少执行次数 适用场景
for 循环 先判断,后执行 0次 已知循环次数
while 循环 先判断,后执行 0次 未知循环次数
do while 循环 先执行,后判断 1次 必须至少执行一次

二、do while循环基本使用

2.1 do while循环语法结构


// 循环变量初始化
do {
    // 循环体:先执行这里
    语句1;
    语句2;
    
    // 循环变量更新
} while (条件表达式); // 注意:末尾必须有分号 ;

2.2 do while循环执行流程

  1. 执行循环变量初始化(仅一次);
  2. 直接执行循环体(第一次无条件执行);
  3. 执行循环变量更新
  4. 判断条件表达式
    • true → 回到步骤2,继续执行循环体;
    • false → 结束循环,执行后续代码。

2.3 do while循环基础示例

示例1:输出 1~5(演示至少执行一次)


#include <iostream>
using namespace std;

int main() {
    int i = 1;

    do {
        cout << "i = " << i << endl;
        i++;
    } while (i <= 5); // 条件为假时结束

    cout << "循环结束" << endl;
    return 0;
}

示例2:条件为假,依然执行1次


#include <iostream>
using namespace std;

int main() {
    int i = 10; // 初始值已经大于5

    // 条件一开始就为假,但循环体仍执行1次
    do {
        cout << "我执行了!i = " << i << endl;
        i++;
    } while (i <= 5);

    return 0;
}

示例3:菜单选择(经典场景)


#include <iostream>
using namespace std;

int main() {
    int choice;

    // 菜单至少显示一次
    do {
        cout << "\n===== 学生管理系统 =====" << endl;
        cout << "1. 添加学生" << endl;
        cout << "2. 查询学生" << endl;
        cout << "0. 退出系统" << endl;
        cout << "请输入你的选择:";
        cin >> choice;

        switch(choice) {
            case 1: cout << "执行添加学生功能" << endl; break;
            case 2: cout << "执行查询学生功能" << endl; break;
            case 0: cout << "退出系统,感谢使用" << endl; break;
            default: cout << "输入无效,请重新选择" << endl;
        }

    } while (choice != 0); // 选择0才退出

    return 0;
}

三、do while循环流程控制

3.1 break 终止循环

break:立即终止整个do while循环,直接跳出循环结构。


#include <iostream>
using namespace std;

int main() {
    int i = 1;
    do {
        if (i == 4) {
            break; // 等于4直接退出
        }
        cout << i << " ";
        i++;
    } while (i <= 10);
    // 输出:1 2 3
    return 0;
}

3.2 continue 跳过本次循环

continue:跳过本次循环体剩余代码,直接跳到条件判断


#include <iostream>
using namespace std;

int main() {
    int i = 0;
    do {
        i++;
        if (i == 3) {
            continue; // 跳过3
        }
        cout << i << " ";
    } while (i < 5);
    // 输出:1 2 4 5
    return 0;
}

四、注意事项

五、总结


返回顶部